package com.lottery.material.service.admin.portaluser;

import com.lottery.material.pojo.page.Page;
import com.lottery.material.pojo.portaluser.BuyGoldConfig;
import com.lottery.material.pojocustom.portaluser.BuyGoldConfigCustom;

import java.util.List;

/**
 * Description：充值金额配置服务接口
 * Created by 朱正磊 on 2019-04-13 17:28
 */
public interface BuyGoldConfigService {

    /**
     * description：新增一条数据
     * user 朱正磊
     * time 2019-04-20 15:14
     * @param buyGoldConfig 对象
     * @return 返回持久化操作数据库状态值
     */
    Integer add(BuyGoldConfig buyGoldConfig);

    /**
     * description：根据主键物理删除
     * user 朱正磊
     * time 2019-04-20 15:13
     * @param id 主键
     * @return 返回持久化操作数据库状态值
     */
    Integer deleteById(Integer id);

    /**
     * description：根据主键查询唯一数据
     * user 朱正磊
     * time 2019-04-20 15:15
     * @param id 主键
     * @return 返回唯一数据
     */
    BuyGoldConfig findById(Integer id);

    /**
     * description：根据主键修改一条数据
     * user 朱正磊
     * time 2019-04-20 15:16
     * @param buyGoldConfig 对象
     * @return 返回持久化操作数据库状态值
     */
    Integer updateById(BuyGoldConfig buyGoldConfig);

    /**
     * description：查询扩展类分页列表
     * user 朱正磊
     * time 2019-04-17 17:01
     * @param page 分页对象
     * @return 返回扩展类分页列表数据
     */
    List<BuyGoldConfigCustom> findCustomListPage(Page page);

    /**
     * description：根据主键查询唯一扩展类数据
     * user 朱正磊
     * time 2019-04-17 17:03
     * @param id 主键
     * @return 返回唯一扩展类数据
     */
    BuyGoldConfigCustom findCustomById(Integer id);

    /**
     * description：根据主键删除一条数据（逻辑删除）
     * user 朱正磊
     * time 2019-04-30 11:30
     * @param id 主键
     * @return 返回持久化操作数据库状态值
     */
    Integer deleteLogicById(Integer id);

    /**
     * （可以不存在，如果存在只允许存在一条数据）（未逻辑删除）
     * description：根据充值金额查询列表数据（如果主键不为null，查询的时候排除掉该记录）
     * user 朱正磊
     * time 2019-05-15 11:16
     * @param id 主键（新增为null，修改不为null）
     * @param buyGold 充值金额
     * @return 返回列表数据
     */
    List<BuyGoldConfig> selectByBuyGold(Integer id, Integer buyGold);

    /**
     * description：查询没有被逻辑删除的数据
     * user 朱正磊
     * time 2019-05-15 14:21
     * @return 返回没有被逻辑删除的数据集合列表
     */
    List<BuyGoldConfig> selectNotBeDeleted();

}
